import axios from 'axios'
import {$m} from "@/MUI";
import $config from '@/config'

import Store from '@/store'
import Router from '@/router'

const request = axios.create({
	// axios中请求配置有baseURL选项，表示请求URL公共部分
	// baseURL: process.env.VUE_APP_BASE_API,
	// 超时
	timeout: 60000
})

// // 在 request 拦截器实现
request.interceptors.request.use(config => {
	if($config.path){
		config.url = $config.path + config.url
	}
  return config
}, error => {
	// Do something with request error
	return Promise.reject(error)
})

//在 response 拦截器实现
request.interceptors.response.use(
	response => {

		if(response.data.status === 500){
			$m.message(response.data.error,'error')
			return Promise.reject(response.data.msg)
		}else{
			switch (response.data.code){
				case 200:
					return Promise.resolve(response)
					break;
				/*case 30001:
					$m.toError('')
					break;*/
		// 		case 500:
		// 			$m.message(response.data.msg,'error')
		// 			return Promise.reject(response.data.msg)
		// 			break;
		// 		// 登录失效
		// 		case 1004:
		// 			var redirectUrl = $config.auth.redirect_uri?$config.auth.redirect_uri:window.location.origin
		// 			redirectUrl = encodeURIComponent(redirectUrl + '/#/')
		// 			window.location.href = $config.auth.host + '/oauth2/authorize?response_type=code&appid='+ $config.auth.appId +'&scope=login&redirect_uri=' + redirectUrl
		// 			break;
		// 		// 企业禁用
		// 		case 1052:
		// 			$m.toError(1052)
		// 			break;
		// 		// 未绑定企业
		// 		case 1056:
		// 			$m.toError(1056)
		// 			break;
		// 		// 无权限
		// 		case 1057:
		// 			$m.toError(1057)
		// 			break;
		// 		// 企业使用过期
		// 		case 1058:
		// 			$m.toError(1058)
		// 			break;
				default:
					console.log(response, 'responseresponseresponse')

					$m.message(response.data.message,'error')
					return Promise.reject(response.data.message)
					break;


			}
		}
	},
	error => {
		console.log(error, 'errorerrorerrorerror') // for debug

		let response = error.response
		// $m.message(response.data.error,'error')
		$m.message('请求异常','error')
		return Promise.reject(error)
	}
)

export default request
